package org.cainiao.api.lark.dto.request;

import lombok.Builder;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.SuperBuilder;

/**
 * <br />
 * <p>
 * Author: Cai Niao(wdhlzd@163.com)<br />
 */
@Data
@EqualsAndHashCode(callSuper = true)
@SuperBuilder
public class LarkUserIdPageRequest extends LarkPageRequest {

    /**
     * TODO 改用枚举
     * 用户 ID 类型<br />
     * 默认值：open_id
     * <ol>
     *     <li>open_id：标识一个用户在某个应用中的身份。同一个用户在不同应用中的 Open ID 不同</li>
     *     <li>
     *         union_id：标识一个用户在某个应用开发商下的身份。
     *         同一用户在同一开发商下的应用中的 Union ID 是相同的，在不同开发商下的应用中的 Union ID 是不同的。
     *         通过 Union ID，应用开发商可以把同个用户在多个应用中的身份关联起来
     *     </li>
     *     <li>
     *         user_id：标识一个用户在某个租户内的身份。同一个用户在租户 A 和租户 B 内的 User ID 是不同的。
     *         在同一个租户内，一个用户的 User ID 在所有应用（包括商店应用）中都保持一致。
     *         User ID 主要用于在不同的应用间打通用户数据
     *     </li>
     * </ol>
     */
    @Builder.Default
    private String userIdType = "open_id";
}
